#pragma once

#include "fxcc/core/graph/common/pch.h"

namespace fxcc
{
	namespace graph
	{
		namespace common
		{
			struct FXCC_API     Viewport
			{
				float left{0.0f};
				
				float right{0};
				
				float bottom{0};
				
				float top{0};
				
				float zNear{0};
				
				float zFar{0};

				void SetHalfExtends(const glm::vec3& halfExtends);

				glm::mat4 GetOrthoMatrixRH() const;
				
				glm::mat4 GetOrthoMatrixLH() const;

				glm::mat4 GetOrthoMatrix() const;
			};
		};
	};
};